Fundamentos macroeconômicos para a Análise de Conjuntura


Segundo Robbins (2012), “Do ponto de vista do economista, as condições da existência humana exibem quatro características fundamentais. Os fins são vários. O tempo e os meios para obter esses fins são limitados e permitem aplicações alternativas. Ao mesmo tempo, os fins têm importâncias diferentes. Eis-nos aqui, criaturas conscientes com vários desejos e aspirações, com multidões de tendências instintivas, todas nos impelindo, de diferentes maneiras, a agir. O tempo em que essas tendências podem se expressar é limitado. O mundo exterior não oferece oportunidades completas para sua total satisfação. A vida é curta. A natureza é mesquinha. Nossos companheiros têm outros objetivos. Ainda assim nós podemos usar as nossas vidas para fazer coisas diferentes, podemos usar nossas ferramentas e os serviços de outros para atingir diferentes objetivos.”

O ser humano faz, nesse contexto, escolhas todos os dias, reagindo a incentivos e restrições impostas pelo ambiente. De outra forma, o ser humano, dotado de necessidades ilimitadas, escolhe o uso de recursos escassos entre fins alternativos. Em microeconomia os economistas usam de cálculo diferencial e integral para analisar os comportamentos dos agentes econômicos, como se a vida fosse um processo de otimização condicionada.

Milhões de indivíduos tomando decisões diárias sobre como alocar recursos escassos entre fins alternativos gerarão, como consequência, o objeto de estudo da macroeconomia. Grandes temas, como o entendimento do processo de crescimento e a dinâmica inflacionária, possuem, total relação com indivíduos dotados de alguma racionalidade tomando decisões de forma isolada. Esse é o enorme desafio da análise macro. Como, afinal, agregar essas milhares de decisões individuais? Como representar o processo produtivo daí resultante? Como inferir o preço de todos os bens e serviços vendidos em uma economia? Como obter relações válidas entre essas variáveis agregadas?

Não é simples. Para entender corretamente é preciso primeiramente entender uma divisão importante. Existe a construção das variáveis macroeconômicas. Esse é o campo da contabilidade social, com seus desafios empíricos e uso extensivo de métodos estatísticos. Depois de obtidas essas variáveis, ocorre a construção da Teoria Macroeconômica propriamente dita, o segmento que estuda o comportamento da economia em termos agregados.


library(GetBCBData)

dados_sgs <- GetBCBData::gbcbd_get_series(
id = c("IPCA" = 13522, "IBC-Br" = 24363, "Resultado Primário" = 5793),
first.date = "2003-01-01",
last.date = "2022-12-01",
format.data = "wide"
)
tail(dados_sgs)
#write.csv2(dados_sgs, file='arquivo00.csv')

dados_sgs <- ts(read.csv2('arquivo00.csv',
                       header=T, sep=';', dec=',')[,-c(1,2)],
             start=c(2003,01), freq=12)

### Gráficos
layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE))
plot(dados_sgs[,1], xlab='', ylab='% a.a.', main='Inflação')
plot(dados_sgs[,2], xlab='', ylab='Número Índice', main='Nível de Atividade')
plot(dados_sgs[,3], xlab='', ylab='% PIB', main='Resultado Primário')
Figura 1: Exemplos de variáveis macroeconômicas.

Figura 1: Exemplos de variáveis macroeconômicas.


A análise da conjuntura econômica doméstica e internacional é, então, uma espécie de interseção entre contabilidade social e teoria macroeconômica, com uso cada vez mais disseminado da econometria. O analista de conjuntura deve compreender o que os dados estão dizendo, com base na teoria e no teste empírico. Assim, deve ter uma base sólida de conhecimento teórico e também saber lidar com a coleta, tratamento, análise e apresentação de dados.


Os economistas pensam com modelos


Os macroeconomistas procuram entender fenômenos econômicos específicos por meio da formulação de modelos, representações simplificadas da realidade. A construção desses modelos envolve, segundo Hermann (2004):

  • A formulação das hipóteses básicas de funcionamento da economia;
  • A formulação das hipóteses de comportamento dos agentes econômicos, dado algum critério de racionalidade;
  • A especificação das características do mercado do qual fazem parte as variáveis relevantes.

Contemporaneamente, os modelos macroeconômicos são todos eles expressos em termos matemáticos. Para ilustrar, considere a função Consumo abaixo:

\[ C_{t} = \alpha + cY_{t} \tag{1} \]

onde \(C_{t}\) é a variável endógena do modelo, \(\alpha\) é uma constante, \(c\) é um parâmetro e \(Y_{t}\) é a variável exógena. Nesses termos, o modelo é dito determinístico, posto que dados valores para \(Y_{t}\), para o parâmetro e para a constante é possível inferir perfeitamente valores para \(C_{t}\). De outra forma, pode-se considerar um modelo estocástico, adicionando um termo de erro a (1), como abaixo:

\[ C_{t} = \alpha + cY_{t} + \varepsilon_{t} \tag{2} \]

onde \(\varepsilon_{t}\) segue uma distribuição normal com média nula e variância constante. Nesses termos, mesmo com valores conhecidos de \(\alpha\), \(c\) e \(Y_{t}\), tudo o que pode-se ter com o modelo é uma aproximação dos valores de \(C_{t}\).


Conceitos Básicos


PIB e PNB


O Produto Interno Bruto é a soma de todos os bens e serviços finais produzidos por um país em determinado período de tempo. Ele pode ser medido por três óticas:

  • Ótica da Produção: \(\sum_{i=1}^{n} VA = \sum_{i=1}^{n} Q_i P_i - CI\)

  • Ótica da Renda: \(\sum_{i=1}^{n} Rem_{Fatores}\)

  • Ótica da Despesa: \(\sum_{i=1}^{n} VP_{Bens Finais}\)

assim, basicamente se mensura pelo lado de quem produziu (valor adicionado como a soma do produto agregado menos o consumo intermediário); ou se mensura pelo lado de quem foi remunerado durante a produção (salários, lucros, aluguéis e juros); ou se analisa pelo lado de quem comprou (C+I+G+X-M)

O produto produzido pelas firmas é vendido no mercado de bens e serviços para as famílias, em troca de moeda, que as mesmas obtém no mercado de fatores. Neste, elas entregam sua força de trabalho em troca de salários. Com esse trabalho, as firmas podem produzir aquele produto.

Todo fluxo real é acompanhado de um fluxo monetário na medida em que as transações econômicas são efetuadas em moeda. A partir desse denominador comum, a moeda, é possível agregar bens e serviços heterogêneos, pelo valor ao qual eles são transacionados no mercado.

A igualdade entre produção, renda e despesa é, em termos de moeda e período de tempo, medidos ex-post.

No mundo real, se os fluxos reais forem diferentes dos fluxos monetários, há ajuste via preços ou via quantidades. Isto é, na economia real nem tudo o que é produzido pelas empresas (fluxo real) é de fato consumido pelas famílias (fluxo monetário), necessitando portanto de algum tipo de ajuste, seja via o mecanismo de preço e/ou por meio de variações nas quantidades ofertadas. Nesse contexto, há uma clara divisão de trabalho:

  • Teoria Macroeconômica: Explicar qual tipo de ajuste é predominante em uma situação específica;

  • Contabilidade Social: Medição ex-post através de mecanismos contábeis que garantem o equilíbrio entre fluxos monetários e reais.

A interpretação sobre em que medida esses ajustamentos distanciam a economia de uma trajetária de crescimento equilibrada é um dos grandes objetos da macroeconomia.

Uma parte do PIB, por suposto, deve ser descontada dado o contato com o exterior. Isto é, \[ PIB = PNB - RLEE \tag{3} \]

com o PNB sendo a renda que efetivamente pertence aos residentes no país e a RLEE (Renda Líquida Enviada ao Exterior), a diferença entre o que é pago por fatores de produção externos utilizados internamente e o que é recebido do exterior por fatores de produção nacionais empregados em outros países. No Brasil, a RLEE enviada supera a recebida. Assim, o PNB é menor do que o PIB.

library(ggplot2)
data <- read.csv2('arquivo01.csv', header=T, sep=';')
dates <- seq(as.Date('2000-01-01'), as.Date('2022-09-01'), by='3 month')
df <- data.frame(time=dates, pib=data$pib, pnb=data$pnb)
ggplot(df, aes(x=time))+
  geom_line(aes(y=pib/1000, colour='PIB'), size=.8)+
  geom_line(aes(y=pnb/1000, colour='PNB'), size=.8)+
  scale_colour_manual('', values=c('PIB'='darkblue',
                                   'PNB'='red'))+
  xlab('')+ylab('US$ bilhões')+
  theme(legend.position = 'top')
Figura 2: PIB e PNB

Figura 2: PIB e PNB


Variáveis Reais e Variáveis Nominais


Na macroeconomia, ocorre a comparação entre variáveis macroeconômicas em diferentes pontos de tempo, ou em diferentes economias no mesmo ponto do tempo. Para fazer comparações significativas, geralmente é fundamental verificar quais as diferenças nas variáveis macroeconômicas refletem diferenças de preços dos bens ou diferença nos volumes físicos dos bens. Para isso, é sempre importante deflacionar as séries, isto é, retirar o efeito do aumento de preços.

Para deflacionar as séries, se faz uso de Índices de Preços, que, basicamente, acompanham a evolução dos preços de uma determinada cesta de bens e serviços ao longo do tempo. Assim, o Valor Real (\(V_r\)) será dado por:

\[ V_r = \frac{I_k}{I_t} V_t \tag{4} \]

Fluxos e Estoques


As variáveis macroeconômicas são expressas em termos de fluxo e estoque, sendo importante diferenciar um conceito do outro.

  • Fluxos: magnitude econômica medida como uma taxa por unidade de tempo (em um período de tempo);

  • Estoques: É uma magnitude medida em um determinado ponto do tempo.

assim, o fluxo seria a variação do estoque medido ao longo do tempo.

dados_sgs <- GetBCBData::gbcbd_get_series(
id = c("NFSP" = 5793, "DBGG" = 13762),
first.date = "2006-12-01",
last.date = "2023-01-01",
format.data = "wide"
)
tail(dados_sgs)
#write.csv2(dados_sgs, file='arquivo02.csv')

dados_sgs <- ts(read.csv2('arquivo02.csv',
                       header=T, sep=';', dec=',')[,-c(1,2)],
             start=c(2006,01), freq=12)

layout(matrix(c(1,1,2,2), ncol=2, byrow = TRUE))
plot(dados_sgs[,1], xlab='', ylab='% do PIB', main='Necessidade de Financiamento do Setor Público')
plot(dados_sgs[,2], xlab='', ylab='% do PIB', main='Dívida Bruta do Governo Geral')
Figura 3: Fluxos e Estoques

Figura 3: Fluxos e Estoques


Taxas de Juros e Valor Presente


Muitas das importantes questões macroeconômicas envolvem opções que não ocorrem apenas em um período de tempo. Uma decisão sobre quanto poupar, por exemplo, na verdade é uma decisão sobre tempo. Isto é, se é melhor consumir agora ou no futuro. Essa é, portanto, uma decisão intertemporal.

Uma decisão intertemporal envolve, nesse contexto, a distribuição de uma determinada decisão econômica entre pontos diferentes do tempo. Para que isso possa ser feito, é necessário introduzir dois conceitos importantes:

  • Taxas de Juros Condições pelas quais o dinheiro ou os bens de hoje podem ser trocados por dinheiro ou bens em uma data futura. É o preço entre o presente e o futuro.

Usando uma taxa de juros, pode-se traduzir um determinado valor em dinheiro do futuro em um valor presente. Isso é feito aplicando a seguinte fórmula genérica:

\[ VP = \frac{Y_n}{(1+i)^n} \tag{5} \]

O papel das expectativas


Um último ponto básico é o papel das expectativas na macroeconomia. Isto porque, quando agentes econômicos tomam decisões intertemporais, há sempre incerteza e risco envolvidos. Desse modo, é necessário formular alguma expectativa em relação ao que vai ocorrer no futuro para que essas decisões sejam possíveis de serem tomadas.

De forma geral, as expectativas em relação ao futuro podem ser:

  • Estáticas: \(Y_{t+1}^e = Y_t\)

Expectativas estáticas são aquelas em que um agente observa o valor passado de uma variável e, sem dispor de qualquer conhecimento sobre a lei de movimento dessa variável (representada por y), assume que ela será a mesma no futuro a não ser que algo aleatório (representado por \(\epsilon\)) aconteça e traga-a para um novo patamar, onde lá ficará. Em razão das inovações serem aleatórias, a melhor expectativa para o valor futuro do ativo é o valor que ele se encontra hoje (\(Y_t\)).

  • Adaptativas: \(Y_{t+1}^e = (1 - \alpha) Y_{t}^e + \alpha Y_{t}\)

As expectativas adaptativas usam relações entre variáveis estabelecidas no passado para construir uma espécie de convergência futura, sob a hipótese de que essas relações se manterão no futuro. É um passo a frente das expectativas estáticas.

  • Racionais: \(E \left [ Y_t \right ] = E \left [ Y_t | I_t \right ]\)

A mais sofisticada das formações de expectativas modeláveis até hoje é conhecida como a expectativa racional. A expectativa racional pode ser mais intuitivamente compreendida como uma expectativa que filtra tudo aquilo que é relevante para prever o futuro, não somente aquilo que já está no passado. Ela assume que os agentes de uma economia já possuem uma boa ideia das relações de causa e efeito das políticas públicas e econômicas adotadas pelos governos ex-ante, e por isso agem de forma antecipada em benefício próprio.


O modelo macroeconômico básico


A partir da década de 1990, a macroeconomia repousou naquilo que ficaria conhecido como nova síntese neoclássica ou novo consenso macroeconômico. Uma das implicações desse consenso foi a construção de pequenos modelos estruturais para analisar os impactos da política econômica, em particular da política monetária.

Os principais pontos desses modelos são:

  • A inflação depende da taxa de juros real;

  • A taxa de juros básica nominal é o instrumento de política;

  • Existem mecanismos de transmissão nas decisões de política econômica;

  • Os modelos contém, de forma geral, uma curva IS, uma Curva de Phillips e uma Função de Perda Social;

  • As expectativas dos agentes podem ser do tipo backward-looking ou forward-looking;

  • Existem defasagens no mecanismo de transmissão.


O novo consenso é classificado como novo-keynesiano, na medida em que admite subequilíbrios no curto prazo derivados de falhas de mercado. Em outras palavras, o hiato do produto pode ser diferente de zero no curto prazo.

No Brasil, tão logo foi adotado o regime de metas para a inflação, em junho de 1999, o Banco Central tem se esforçado em apresentar ao público suas construções teóricas. O modelo básico do Banco Central, que busca captar os mecanismos de transmissão das decisões de política monetária, bem como as defasagens aí envolvidas, pode ser visto em Bogdanski et al. (2000). Ele é composto por:

  • Uma Curva IS (Investment-Saving), representando o lado da demanda;

  • Uma Curva de Phillips, representando o lado da oferta;

  • Uma Condição de Paridade Descoberta da taxa de juros, representando o contato com o setor externo;

  • Uma Regra de Taylor, representando as decisões de política monetária.


A Curva IS pode ser representada como abaixo:

\[ h_{t} = \beta_{0} - \beta_{1}(i_{t} - E_{t}\pi_{t+1} - r^*) + \beta_{2}\Theta_{t-1} + \beta_{3}\Psi_{t-1} + \varepsilon_{t}^{d} \tag{6} \]

onde \(h_{t}\) é o hiato do produto (diferença entre o PIB efetivo e o PIB potencial), \(i_{t}\) é a taxa de juros nominal, \(E_{t}\pi_{t+1}\) é a expectativa em \(t\) para a inflação em \(t+1\), \(r^*\) é a taxa de juros neutra, \(\Theta_{t-1}\) é a taxa de câmbio real, \(\Psi_{t-1}\) representa as necessidades de financiamento do setor público e \(\varepsilon_{t}^{d}\) é um choque de demanda.

A Curva de Phillips é representada por:

\[ \pi_{t} = \alpha_{0} + \alpha_{1}\pi_{t-1} + \alpha_{2}E_{t}\pi_{t+1} + \alpha_{3}h_{t-1} + \alpha_{4}\Delta\epsilon_{t} + \varepsilon_{t}^{s} \tag{7} \]

onde \(\pi_{t}\) é a inflação, \(\Delta\epsilon_{t}\) é a primeira diferença da taxa de câmbio nominal e \(\varepsilon_{t}^{s}\) é um choque de oferta.

A condição de paridade é dada por:

\[ \Delta\epsilon_{t} = \phi_{0} - \phi_{1}(i_{t} - i_{t}^*) + \phi_{2}x_{t} + \varepsilon_{t}^{e} \tag{8} \] onde \((i_{t} - i_{t}^*)\) representa o diferencial de juros, \(x_{t}\) é o prêmio de risco e \(\varepsilon_{t}^{e}\) é um choque externo.

A regra de Taylor pode ser definida como:

\[ i_{t} = \omega_{0} + \omega_{1}i_{t-1} + \omega_{2}(E_{t}\pi_{t+1} - \pi^*) + \omega_{3}h_{t} + \omega_{4}\Delta\epsilon_{t} + \varepsilon_{t}^{bcb} \tag{9} \] Onde \(\pi^*\) é uma meta de inflação e \(\varepsilon_{t}^{bcb}\) é um ruído branco. Com isto, suponha que o Banco Central reduza a taxa básica de juros. Qual o efeito dessa redução sobre a economia?

Se a redução da taxa de juros nominal for suficiente para tornar a diferença entre a taxa de juros real e a taxa de juros neutra (aquela consistente com a estabilidade da taxa de inflação ao longo do tempo. É Variável não observável, que deve ser estimada e que depende de diversos fatores) negativa, o efeito passa a ser positivo sobre o hiato do produto, expresso na Curva IS.

Uma taxa de juros nominal menor implica em um diferencial de juros (taxa de juros doméstica menos a taxa de juros externa) menor, contribuindo para desvalorizar a taxa de câmbio nominal. Se essa desvalorização nominal implicar em desvalorização real, há ainda um efeito sobre as exportações líquidas, contribuindo para pressionar positivamente o hiato do produto. Por fim, a inflação é afetada pelo hiato do produto e pela desvalorização nominal da taxa de câmbio, via Curva de Phillips. Em outras palavras, reduções na taxa básica de juros têm implicações sobre o nível de atividade e, consequentemente, sobre a inflação.

Um ponto importante na equação \((7)\) é que que a inflação também é afetada pelas expectativas dos agentes. Há diversas formas de modelar como os agentes formam suas expectativas em relação a alguma variável macroeconômica. Por aqui, entretanto, basta supor que os agentes reagem ao sinal emitido pelo Banco Central, seja por meio de suas ações efetivas de política monetária, seja por sua comunicaçõo com o público. Nesses termos, uma política monetária transparente, que comunica adequadamente sua estratégia para fazer a inflação convergir para a meta, contribui para manter as expectativas ancoradas. De outra forma, quando o Banco Central erra na sua comunicação com o público, modificando constantemente sua estratégia de política monetária, isso contribui para tornar as expectativas mais voláteis e sensíveis a choques de oferta.

Outra questão interessante aqui é sobre o que o hiato do produto representa. Em termos simples, ele expressa uma medida global de ociosidade da economia. A ideia é que quanto menos ociosa for a economia, maior será a pressão inflacionária. Isso é também captado na equação \((7)\) pelo coeficiente \(\alpha_{3}\).

Com esse modelo básico compreendido, é possível interpretar como mudanças em uma determinada variável afetam outras, bem como o mecanismo pelo qual a política econômica pode afetar o nível de atividade. O próximo passo são as análises empíricas.

library(GetTDData)
library(readr)
library(xts)
library(forecast)
library(scales)
library(ggplot2)
library(mFilter)
library(grid)
library(png)
library(rbcb)
library(Quandl)
library(tidyverse)

## Taxa de Juros
#selic <- Quandl('BCB/1178', order='asc', start_date='2012-06-01')
 
## Expectativa de Inflação 12 meses à frente
#expinf <- get_twelve_months_inflation_expectations('IPCA',
#start_date = '2012-06-01')
 
## Taxa de Juros da NTN-B 2050
#asset.codes <- 'NTN-B'   # Identifier of assets 
#cache_folder <- paste0(tempdir(), '/TD_cache')
#my.flag <- download.TD.data(asset.codes = asset.codes, 
#                            dl.folder = cache_folder)

#my.df <- read.TD.files(dl.folder = cache_folder)
#ntnb50 <- filter(my.df, asset.code == 'NTN-B 150850')

#selic <- xts(selic$Value, order.by = selic$Date)
#expinf12 <- xts(expinf$mean[expinf$smoothed=='S'],
#order.by <- expinf$date[expinf$smoothed=='S'])
#dataex <- cbind(selic, expinf12)
#dataex <- dataex[complete.cases(dataex),]
#juro_ex <- (((1+(dataex[,1]/100))/(1+(dataex[,2]/100)))-1)*100

#juro_ntnb <- xts(ntnb50$yield.bid*100, order.by = ntnb50$ref.date)
#df <- cbind(juro_ex, juro_ntnb)
#df <- df[complete.cases(df),]
#df <- data.frame(time=index(df), juroreal=df[,1],ntnb=df[,2])

#df2 <- xts(df$selic, order.by=df$time)
 
#hp <- hpfilter(df$juro_ntnb, freq=10000, type='lambda')
#trend <- data.frame(hp$trend, df$time)
#trend2 <- data.frame(trend, df$time)
#df3 <- xts(trend$hp.trend, order.by=trend$df.time)

#save.image("dados.RData")
load("dados.RData")

plot.xts(df2, main="Juro Real x Juro Neutro",
     xlab='(meses)', ylab='%a.a.', lwd=3)
lines(df3, col='red', lwd=3)
addLegend("bottomleft", on=1, 
          legend.names = c("Juro Real ex-ante", "Juro Neutro"), 
          lty=c(1, 1), lwd=c(2, 1),
          col=c("black", "red"))


Figura 4: Juro Real x Juro Neutro

Lidando com Dados


O trabalho de um Analista de Conjuntura passa, basicamente, pelas quatro etapas de data science. Primeiro, é preciso ter intimidade com uma infinidade de fontes de dados. Afinal, é preciso escolher entre diversos indicadores econômicos, entender a forma como eles são construídos e saber extraí-los em um formato tratável.

Uma vez colhido, esse dado precisa passar por uma etapa de lapidação. Pouco adianta pegar o índice de preços ao consumidor de um determinado país. De forma geral, a única informação obtida desse índice é que ele cresce ao longo do tempo. Será preciso, então, conseguir entender a velocidade deste crescimento. Além disso, se for fixado um determinado período, de três, seis ou doze meses, por exemplo, qual será a taxa de crescimento?

A quantidade de informação a ser extraída de um dado vai depender sobremaneira dessa etapa. Neste curso são coletados e tratados dados de nível de atividade, inflação, mercado de trabalho, mercado de crédito, política monetária, política fiscal, setor externo e economia internacional. Serão mostrados uma infinidade de indicadores que buscam verificar a situação da economia brasileira.

Depois de coletado e tratado o dado, é preciso analisar. Essa parte une teoria econômica, métodos estatísticos e econométricos. A parte técnica do trabalho envolve, basicamente, conseguir construir modelos que forneçam insights sobre como determinadas variáveis se relacionam ao longo do tempo.

A última etapa do trabalho de um Analista de Conjuntura passa por ligar os pontos, de forma que seja possível explicar para um leigo o que está acontecendo com a economia doméstica e internacional.


Nível de Atividade


A macroeconomia nasce da soma de milhões de decisões diárias de indíviduos descentralizados. Tais indivíduos, com necessidades ilimitadas, decidem todos os dias o que produzir, como produzir e como distribuir esse esforço produtivo. A variável macroeconômica que representa esse esforço de forma mais completa é chamada de Produto Interno Bruto, ou simplesmente PIB, a soma de todos os bens e serviços finais produzidos por um país ao longo de um determinado período de tempo.

O PIB é uma medida expressa em valores correntes ou números índices, do quanto um país utilizando recursos escassos, como trabalho e capital, gerou de produção e, consequentemente, de renda em um determinado período. Assim, a taxa de crescimento do PIB fornece uma boa medida sobre o quão rápido ou devagar um determinado país está crescendo economicamente.


#dados_sgs <- GetBCBData::gbcbd_get_series(
#id = c("PIB" = 22099, "PIB_SA" = 22109),
#first.date = "1996-03-01",
#last.date = "2022-09-01",
#format.data = "wide"
#)
#tail(dados_sgs)

#write.csv2(dados_sgs, file='arquivo03.csv')

pib <- ts(read.csv2('arquivo03.csv',
                       header=T, sep=';', dec=',')[,-c(1,2)],
             start=c(1996,01), freq=4)

hp <- hpfilter(pib[,2], type='lambda', freq=1600)

range <- range(pib[,2])

plot(pib[,2], type="l", lwd=3, xaxt='n', bty='l', xlab='', 
     ylab='Número Índice',
     ylim=c(range[1], range[2]))

polygon(x=c(2020,2020, 2021,2021),
        y=c(range[1]-10, range[2]+10, rev(range[2]+10), rev(range[1]-10)),
        density=NA, col="lightgray", border=NA)

polygon(x=c(2014,2014, 2017,2017),
        y=c(range[1]-10, range[2]+10, rev(range[2]+10), rev(range[1]-10)),
        density=NA, col="lightgray", border=NA)

polygon(x=c(2008,2008, 2010,2010),
        y=c(range[1]-10, range[2]+10, rev(range[2]+10), rev(range[1]-10)),
        density=NA, col="lightgray", border=NA)


lines(pib[,2], type="l", lwd=3)
lines(hp$trend, col='red', lty=2, lwd=2)
axis(1, at=c(1996:2022))
grid(, col='grey0')

mtext('Comportamento do PIB trimestral', side=3, line=1, font=2)

legend('topleft', lty=c(1,2), lwd=c(3,2), col=c('black', 'red'),
       legend=c('PIB IBGE', 'Filtro HP'), bty='n')
Figura 5: Comportamento do PIB Trimestral (IBGE).

Figura 5: Comportamento do PIB Trimestral (IBGE).


Questões estruturais e questões conjunturais afetam o produto e explicam o seu comportamento ao longo do tempo. Considere que o PIB efetivamente observado (chamado de PIB efetivo) possa ser decomposto em duas partes, a saber:

\[ Y_{t} = Y^P_{t} + h_{t} \tag{10} \] Onde \(Y_{t}\) é o PIB em \(t\), \(Y^P_{t}\) é a tendência de longo prazo do PIB, chamada de produto potencial e \(h_{t}\) é um componente cíclico, chamado de hiato do produto.

O PIB Potencial, \(Y^P_{t}\), a tendência do PIB Efetivo ao longo do tempo, reflete condições estruturais da economia, como a população em idade ativa, o estoque de capital, qualidade da educação, qualidade das instituições, etc. O hiato do produto, \(h_{t}\), o componente cíclico, por sua vez, reflete questões conjunturais, como incentivos de política econômica, condições climáticas, choques externos, incertezas políticas, etc.

Em outros termos, no curto prazo o PIB Efetivo pode crescer mais ou menos do que o PIB Potencial, aquela tendência. No longo prazo, entretanto, o crescimento da economia está limitado pela disponibilidade de fatores e pela forma como esses fatores são combinados.

Isto é, supondo que a estrutura da economia possa ser representada por uma função do tipo Cobb-Douglas, com retornos constantes de escala, do tipo:

\[ Y_{t} = A_{t} K_{t}^{\alpha_{t}} L_{t}^{1-\alpha_{t}} \tag{11} \] onde \(K_{t}\) e \(L_{t}\) são, respectivamente, a quantidade de capital e trabalho, \(A_{t}\) mede a eficiência tecnológica ou a produtividade total dos fatores e \(\alpha_{t}\) mede a participação do capital na renda nacional.

Nesse contexto, \(Y_{t}\), a soma de bens e serviços finais produzidos em determinado período de tempo, será dado pela combinação entre uma determinada quantidade de estoque de capital com outra de trabalho, moderada pela tecnologia disponível. Em última instância, portanto, \(Y_{t}\) estará limitado pela disponibilidade de fatores de produção e pela forma como esses fatores são combinados (a produtividade total dos fatores). Os economistas gostam de chamar essa limitação de produto potencial, ou simplesmente \(Y^P_{t}\).

No curto prazo, a diferença entre \(Y_{t}\) e \(Y^P_{t}\) será assim dada pelo hiato do produto, \(h_{t}\), que, por construção, irá medir o grau de ociosidade da economia. Calcular o hiato do produto, entretanto, não é uma tarefa trivial, uma vez que o PIB potencial não é uma variável observável. É necessário estimar o produto potencial e, depois, calcular o hiato.

Uma forma simples, porém, de fazer isso é obter o PIB Potencial por meio do Filtro Hodrick-Prescott. Considere a seguinte função de perda:

\[ L = \sum_{t=1}^T(Y_t - Y^P_{t})^2 + \lambda \sum_{t=1}^T\left[(Y^P_{t}-Y^P_{t-1}) - (Y^P_{t-1} - Y^P_{t-2})\right]^2 \tag{12} \]

onde T representa o tamanho da amostra e \(\lambda\) é um parâmetro que assume quaisquer valores entre 0 e \(\infty\). A série \(Y^P_{t}\) é aquela que minimiza o valor de \(L\). Observe que o primeiro termo da soma que constitui \(L\) penaliza quaisquer desvios entre \(Y^P_{t}\) e \(Y_{t}\), enquanto que o segundo termo pune quaisquer mudanças no ritmo de crescimento de \(Y^P_{t}\). Logo,

\[ \lim_{\lambda \rightarrow 0} Y^P_{t}=Y_{t} \nonumber \tag{13} \]

\[ \lim_{\lambda \rightarrow \infty} Y^P_{t}= TD \nonumber \tag{14} \]


plot(hp$cycle, bty='l', xlab='', ylab='Número índice', xaxt='n', lwd=2)
axis(1, at=c(1996:2022))
abline(h=0, col='red', lty=1, lwd=2)

grid(col='gray0')

mtext('Hiato do Produto (PIB efetivo - PIB potencial)', side=3, line=1, font=2)
Figura 6: O Hiato do Produto.

Figura 6: O Hiato do Produto.


O hiato do produto representa, então, o que os economistas gostam de chamar de ciclo econômico ou o ajuste entre o PIB efetivo e o seu potencial. A dinâmica desse ciclo é determinada em grande medida pela rigidez de preços. Fossem os preços totalmente flexíveis, o ajuste seria imediato, implicando que \(h_t\) seria zero, ou seja, o pib efetivamente observado seria sempre igual a sua tendência de longo prazo, o pib potencial.

O quanto a economia está distante do seu crescimento potencial terá papel crucial na definição da taxa de crescimento dos preços (inflação) e, portanto, nas mudanças de taxa de juros por parte do Banco Central. Entender, desse modo, o comportamento do nível de atividade é de suma importância para o analista de conjuntura.


PIB e seus componentes


Para analisar o crescimento da economia do Brasil, é preciso pegar dois números-índices para cada um dos componentes do PIB: um encadeado normal e outro com ajuste sazonal. O número índice irá fornecer uma única informação: se o PIB e seus componentes estão crescendo ou diminuindo.


Série encadeada do índice de volume trimestral


library(BMR)
#Tabela 1620 - Série encadeada do índice de volume trimestral (Base: média 1995 = 100
#https://sidra.ibge.gov.br/tabela/1620

pib <- read.csv(file='arquivo04.csv',
                header=T,sep=";",dec=".", skip=4)

pib <- ts(pib[-nrow(pib),-1], start=c(1996,01), freq=4)

colnames(pib) <- c('Agricultura', 'Indústria', 'Serviços', 'PIB', 'Consumo Famílias', 'Gastos Governo', 'Formação Bruta de Capital Fixo', 'Exportações', 'Importações')

#Tabela 1621 - Série encadeada do índice de volume trimestral com ajuste sazonal (Base: média 1995 = 100
#https://sidra.ibge.gov.br/tabela/1621

pib_sa <- read.csv(file='arquivo05.csv',
                    header=T,sep=";",dec=".", skip=4)
pib_sa <- ts(pib_sa[-nrow(pib_sa),-1], start=c(1996,01), freq=4)
colnames(pib_sa) <- c('Agricultura', 'Indústria', 'Serviços', 'PIB', 'Consumo Famílias', 'Gastos Governo', 'Formação Bruta de Capital Fixo', 'Exportações', 'Importações')

#Analise do PIB e seus componentes
dates <- seq(as.Date('1996-01-01'), as.Date('2022-12-01'), by='3 month')

#pib <- data.frame(time=dates, pib)
#pib1 <- ggplot(pib, aes(x=time))+
#  geom_line(aes(y=pib$Agro), color="darkblue", #linewidth=.6)+
#  xlab('')+ylab('AGRO')+
#  theme(legend.position = 'top')
#library(easyGgplot2)
#ggplot2.multiplot(pib1, pib2, pib3, pib4, pib5, pib6, pib7, pib8, pib9, cols=3)

gtsplot(pib, dates=dates)
Figura 7: PIB e seus componentes encadeado normal

Figura 7: PIB e seus componentes encadeado normal


Série encadeada com ajuste sazonal


#PIB dessazonalizado e seus componentes
#Conjuntura4
gtsplot(pib_sa, dates=dates)
Figura 8: PIB e seus componentes encadeado com ajuste sazonal

Figura 8: PIB e seus componentes encadeado com ajuste sazonal


Variação Marginal da série encadeada com ajuste sazonal


As variações das séries são bem grandes, dado que a análise é sobre o quanto a mesma se modificou entre um trimestre e outro. Mesmo assim, fica evidente que o Agro foi o setor que menos sentiu a crise da pandemia do novo coronavírus.

De forma a obter uma métrica mais suavizada, pode-se comparar o PIB no mesmo trimestre entre anos distintos, ou seja, obter uma variação interanual.


### Variacao Marginal (comparo com o trimestre anterior)
margem <- (pib_sa/stats::lag(pib_sa,-1)-1)*100
colnames(margem) <- colnames(pib_sa)

dates <- seq(as.Date('1996-04-01'), as.Date('2022-12-01'), by='3 month')
gtsplot(margem, dates=dates)
Figura 9: Variação Marginal

Figura 9: Variação Marginal


Variação Internanual da série encadeada com ajuste sazonal


### Mesmo trimestre do ano anterior
trimestral <- (pib_sa/stats::lag(pib_sa,-4)-1)*100
colnames(trimestral) <- colnames(pib_sa)

dates <- seq(as.Date('1997-01-01'), as.Date('2022-12-01'), by='3 month')
#Conjuntura6
gtsplot(trimestral, dates=dates)
Figura 10: Variação Interanual

Figura 10: Variação Interanual


Variação acumulada em 4 trimestres do PIB e de seus componentes


### Acumulado em 4 trimestres
anual <- (((pib_sa+stats::lag(pib_sa,-1)+stats::lag(pib_sa,-2)+stats::lag(pib_sa,-3))/4)/
            ((stats::lag(pib_sa,-4)+stats::lag(pib_sa,-5)+stats::lag(pib_sa,-6)+stats::lag(pib_sa,-7))/4)-1)*100
colnames(anual) <- colnames(pib)

dates <- seq(as.Date('1997-10-01'), as.Date('2022-12-01'), by='3 month')
#Conjuntura7
gtsplot(anual, dates=dates)
Figura 10: Variação Interanual

Figura 10: Variação Interanual


Informações em tabelas


#Tabelas
table.margem <- t(tail(round(margem, digits=2),
                       n=1))
#rownames(table.margem) <- colnames(trimestral[,-10])
table.trimestral <- t(tail(round(trimestral[,-10], digits=2),
                           n=1))
table.anual <- t(tail(round(anual[,-10], digits=2),
                      n=1))
resumo <- cbind(table.margem, table.trimestral, table.anual)
colnames(resumo) <- c('Margem', 'Trimestral', 'Anual')
rownames(resumo) <- c('Agricultura', 'Indústria', 'Serviços', 'PIB', 'Consumo Famílias', 'Gastos Governo', 'Formação Bruta de Capital Fixo', 'Exportações', 'Importações')

library(DT)

datatable(resumo,
          options = list(dom = 't',
                         columnDefs = 
                           list(list(className = 'dt-center', targets = "_all"))))


O índice de Nível de Atividade do Banco Central (IBC-Br)


O Banco Central assim define o seu IBC-Br:

O IBC-Br se constitui em um indicador de periodicidade mensal que incorpora a trajetária das variáveis consideradas como proxies para o desempenho dos setores da economia. Dado que o PIB é calculado pelo IBGE é uma variável trimestral, logo existe procura para índices de base mensal que busquem medir o comportamento do nível de atividade. O IBC-Br atender esta demanda. Ele está disponível a partir de 2003.


#dados_sgs <- GetBCBData::gbcbd_get_series(
#id = c("IBC-Br" = 24363, "IBC-BR SA" = 24364),
#first.date = "2003-01-01",
#last.date = "2022-12-01",
#format.data = "wide"
#)
#tail(dados_sgs)

#write.csv2(dados_sgs, file='arquivo06.csv')

ibc.br <- ts(read.csv2('arquivo06.csv',
                       header=T, sep=';', dec=",")[,-c(1,2)],
             start=c(2003,01), freq=12)

par(mfrow=c(1,2))
plot(ibc.br[,1], main='IBC-BR', xlab='', ylab='Número Indice')
grid(col='grey0')
plot(ibc.br[,2], main='IBC-BR SA', xlab='', ylab='Número Indice')
grid(col='grey0')
Figura 11: Índice de Nível de Atividade do Banco Central (IBC-Br)

Figura 11: Índice de Nível de Atividade do Banco Central (IBC-Br)


Metricas do IBC-Br (%)


#variacao mensal
## Variacao mensal
vmensal <- (ibc.br[,2]/stats::lag(ibc.br[,2],-1)-1)*100

## Interanual
interanual <- (ibc.br[,2]/stats::lag(ibc.br[,2],-12)-1)*100

## Anual
anual <- ibc.br[,2]
anual <- (((anual+stats::lag(anual,-1)+stats::lag(anual,-2)+stats::lag(anual,-3)
            +stats::lag(anual,-4)+stats::lag(anual,-5)+stats::lag(anual,-6)+stats::lag(anual,-7)
            +stats::lag(anual,-8)+stats::lag(anual,-9)+stats::lag(anual,-10)+
              stats::lag(anual,-11))/12)/
            ((stats::lag(anual,-12)+stats::lag(anual,-13)+
                stats::lag(anual,-14)+stats::lag(anual,-15)
              +stats::lag(anual,-16)+stats::lag(anual,-17)+stats::lag(anual,-18)
              +stats::lag(anual,-19)+stats::lag(anual,-20)+stats::lag(anual,-21)
              +stats::lag(anual,-22)+stats::lag(anual,-23))/12)-1)*100

# Trimestral
trimestral <- (((ibc.br[,2]+stats::lag(ibc.br[,2],-1)+stats::lag(ibc.br[,2],-2))/3)/((stats::lag(ibc.br[,2],-12)+stats::lag(ibc.br[,2],-13)+stats::lag(ibc.br[,2],-14))/3)-1)*100

table.vmensal <- tail(vmensal, n=3)
table.trimestral <- tail(trimestral, n=3)
table.interanual <- tail(interanual, n=3)
table.anual <- tail(anual, n=3)
table <- cbind(table.vmensal, table.trimestral, table.interanual,
               table.anual)
colnames(table) <- c('Mensal', 'Trimestral', 'Interanual', '12 meses')
rownames(table) <- c('Outubro/22', 'Novembro/22', 'Dezembro/22')

plot1 <- cbind(vmensal, trimestral, interanual, anual)
dates <- seq(as.Date('2005-01-01'), as.Date('2022-12-01'), by='1 month')
plot1 <- window(plot1, start=c(2005,1))
gtsplot(plot1, dates=dates)
Figura 12: Métrica do IBC-Br (%)

Figura 12: Métrica do IBC-Br (%)



Pesquisa Mensal do Comércio (PMC-IBGE)


Aqui são analisadas informações do Comércio Restrito, do Comércio Ampliado e com as informações desagregadas. No caso do varejo restrito, são 8 setores:

  • Combustíveis e lubrificantes;

  • Hipermercados, supermercados, produtos alimentícios, bebidas e fumo;

  • Tecidos, vestuário e calçados;

  • Móveis e eletrodomésticos;

  • Artigos farmacêuticos, médicos, ortopédicos, de perfumaria e cosméticos;

  • Livros, jornais, revistas e papelaria;

  • Equipamentos e materiais para escritório, informática e comunicação;

  • Outros artigos de uso pessoal e doméstico.

O varejo ampliado tem 10 setores, pois inclui ao varejo restrito material de construção e Veículos, motocicletas, partes e peças.

library(tidyverse)

#https://sidra.ibge.gov.br/tabela/8185
restrito <- read.csv2('arquivo07.csv', header=T, sep=";",dec=".", skip=4)[,-1]

colnames(restrito) <- c('Receita', 'Volume', 'Receita SA', "Volume SA")

restrito <- select(restrito, Volume, 'Volume SA', Receita, 'Receita SA')

restrito <- ts(restrito[-nrow(restrito),], start=c(2000,1), freq=12)

## Importar o arquivo do comercio ampliado
#https://sidra.ibge.gov.br/tabela/8186
ampliado <- read.csv2('arquivo08.csv', header=T, sep=";",dec=".", skip=4)[,-1]

colnames(ampliado) <- c('Receita', 'Volume', 'Receita SA', "Volume SA")

ampliado <- select(ampliado, Volume, 'Volume SA', Receita, 'Receita SA')

ampliado <- ts(ampliado[-nrow(ampliado),], start=c(2003,1), freq=12)

## Importar o arquivo 'desagregado'
#https://sidra.ibge.gov.br/tabela/8188
desagregado <- read.csv2('arquivo09.csv', header=T, sep=";",dec=".",
                         skip=5)
desagregado <- desagregado[,-1]
desagregado <- ts(desagregado[-nrow(desagregado),], start=c(2000,1),
                  freq=12)

## Nomes das categorias desagregadas do comercio
names.desagregado <- c("Combustiveis e lubrificantes",  "Hipermercados, supermercados, produtos alimenticios, bebidas e fumo",  "Hipermercados e supermercados", "Tecidos, vestuario e calcados", "Moveis e eletrodomesticos",  "Artigos farmaceuticos, medicos, ortopedicos, de perfumaria e cosmeticos", "Livros, jornais, revistas e papelaria", "Equipamentos e materiais para escritorio, informatica e comunicacao", "Outros artigos de uso pessoal e domestico", "Veículos, motocicletas, partes e peças", "Material de construção")

## Organizando os dados

receita.desagregado <- desagregado[,c(1:11)]

receitasa.desagregado <- desagregado[,c(12:22)]

volume.desagregado <- desagregado[,c(23:33)]

volumesa.desagregado <- desagregado[,c(34:44)]


## Variacao mensal
vmensal <- cbind(restrito[,c(2,4)], ampliado[,c(2,4)])
vmensal <- (vmensal/stats::lag(vmensal,-1)-1)*100
colnames(vmensal) <- c('Volume Restrito', 'Receita Restrito',
                       'Volume Ampliado','Receita Ampliado')

## Interanual
interanual <- cbind(restrito[,c(2,4)], ampliado[,c(2,4)])
interanual <- (interanual/stats::lag(interanual,-12)-1)*100
colnames(interanual) <- colnames(vmensal)

## Anual
anual <- cbind(restrito[,c(2,4)], ampliado[,c(2,4)])
anual <- (((anual+stats::lag(anual,-1)+stats::lag(anual,-2)+stats::lag(anual,-3)+
              stats::lag(anual,-4)+stats::lag(anual,-5)+stats::lag(anual,-6)+
              stats::lag(anual,-7)+stats::lag(anual,-8)+stats::lag(anual,-9)+
              stats::lag(anual,-10)+stats::lag(anual,-11))/12)/
            ((stats::lag(anual,-12)+stats::lag(anual,-13)+stats::lag(anual,-14)+
                stats::lag(anual,-15)+stats::lag(anual,-16)+stats::lag(anual,-17)+
                stats::lag(anual,-18)+stats::lag(anual,-19)+stats::lag(anual,-20)+
                stats::lag(anual,-21)+stats::lag(anual,-22)+stats::lag(anual,-23))
             /12)-1)*100
colnames(anual) <- colnames(interanual)

# Trimestral
trimestral <- (vmensal+stats::lag(vmensal,-1)+stats::lag(vmensal,-2))/3
colnames(trimestral) <- colnames(vmensal)

table.vmensal <- t(tail(vmensal, n=1))
table.trimestral <- t(tail(trimestral, n=1))
table.interanual <- t(tail(interanual, n=1))
table.anual <- t(tail(anual, n=1))
table_pmc <- cbind(table.vmensal, table.trimestral, table.interanual,
               table.anual)
colnames(table_pmc) <- c('Mensal', 'Trimestral', 'Interanual', '12 meses')

#Updated 15/11/18
#ultima <- as.Date('2022-12-01')
dates <- seq(as.Date('2003-01-01'), as.Date('2022-12-01'), by='1 month')

#Variação em relação ao mes anterior
plot1 <- window(vmensal, start=c(2003,1))
gtsplot(plot1, dates=dates)


PMC - Variação em relação ao mesmo mês do ano anterior


dates <- seq(as.Date('2003-01-01'), as.Date('2022-12-01'), by='1 month')
plot2 <- window(interanual, start=c(2003,1))
gtsplot(plot2, dates=dates)


PMC - Variação acumulada em 12 meses


dates <- seq(as.Date('2003-12-01'), as.Date('2022-12-01'), by='1 month')
plot3 <- window(anual, start=c(2003,12))
gtsplot(plot3, dates=dates)


PMC - Informações em Tabelas



PMC (Varejo Desagregado) - Informações em Tabelas



Índice de Confiança do Consumidor


#dados_sgs <- GetBCBData::gbcbd_get_series(
#id = c("Confiança do Consumidor" = 4393),
#first.date = "2000-01-01",
#last.date = "2023-01-01",
#format.data = "wide"
#)
#tail(dados_sgs)

#write.csv2(dados_sgs, file='confianca4393.csv')

consumidor <- ts(read.csv2('confianca4393.csv',
                       header=T, sep=';', dec=",")[,-c(1,2)],
             start=c(2000,01), freq=12)
par(mfrow=c(1,1))
plot(consumidor, bty='l', xlab='Tempo', ylab='Indice', xaxt='n', lwd=2)
axis(1, at=c(2000:2023))
grid(col='gray0')
mtext('Indice de Confianca do Consumidor', side=3, line=1, font=2)